Collaborative software is software designed to help people involved in a common task to achieve their goals. Such software systems include email, calendaring, text chat, wiki, electronic communication tools, electronic conferencing tools, and collaborative management tools. The electronic communication tools send messages, files, data, and documents between people and hence facilitate the sharing of information. The electronic conferencing tools facilitate the sharing of information, but in a more interactive way. Examples of electronic conferencing tools include internet forums such as message boards which is a virtual discussion platform to facilitate and manage online text messages. The collaborative management tools facilitate and manage group activities. Examples of collaborative management tools include electronic calendars which are used to schedule events and automatically notify and remind group members. Collaborative management tools include project management systems that are used to schedule, track, and chart the steps in a project as it is being completed.
The collaborative software handles relatively simple data compared to business data in an enterprise world. Building collaboration software as a service that can be used in any business scenario in the enterprise world is typically challenging considering the complexities involved in the business scenario. Consider a business scenario in the enterprise world where a car manufacturer wants to make a finished product such as a car. A number of partners are involved in such a business scenario. Such partners include an engine manufacturer, body manufacturer, upholstery provider, paint provider, tyre manufacturer, navigation system provider, glass manufacturer, and battery manufacturer. The car manufacturer typically has to consider a number of parameters such as schedule of deliveries of the products from each of the partners, whether the deliveries from the partners are on track, whether the partners are deviating from the initial plan, and if they are deviating then are they violating a tolerance limit. It is extremely challenging to build collaboration software that integrates all activities of the involved partners, to gather business data from each of the partners and analyze the business data. Moreover, the car manufacturer may want to perform collaborative tasks such as inviting proposals for a request and negotiating with partners on the proposals they make. The car manufacturer may also want to perform collaborative tasks such as tracking the progress of the work of each of the partners and calculating a projected output based on the actual data provided by the partners. In order to perform the above mentioned collaborative tasks, the car manufacturer may want to integrate his enterprise software with collaborative software that is capable of performing the above collaborative tasks. The existing collaborative software typically cannot cater to such a business scenario. Also, the existing collaborative software is typically not provided as a service and may not be easily integrated with another software component.